#ifndef String_h
#define String_h


class String_T
{
private:
	char * _sz;
	unsigned int _len;
	bool _isSymlink;

// Ctor / Dtor
public:
	String_T();
	String_T(const char * sz);
	String_T(const char * sz, unsigned int len);
	String_T(const String_T & str);
	String_T & operator=(const String_T & strfer);
	~String_T();

public:
	char * Ptr() const					{ return _sz;	};
	unsigned int Length() const			{ return _len;	};

	bool Equals(const String_T & str, bool isCaseSensitive) const;
	unsigned int LastIndexOf(const String_T & str) const;
	bool StartsWith(const String_T & str, bool isCaseSensitive) const;

public:
	void Concat(const String_T & str);
	void Create(unsigned int len);

private:
	void Free();
};

#endif //String_h